/**
 * 本地数据缓存
 * 存储在这里面的必须是 全局 多处 长期 需要使用的数据
 */


const types = {
    ossPath: 'OSS_PATH',
    cosParam: 'COS_PARAM',
    selectCity: 'selectCity',


    config: 'CONFIG',
    qaConfig: 'QA_CONFIG',
    userinfo: 'USER_INFO',
    token: 'TOKEN',
    drawConfig: 'DRAW_CONFIG',
    selectAreaData: 'SELECT_AREA_DATA',
    storeId: 'STORE_ID'
}

export default {
    // Config
    setConfig(data) {
        uni.setStorageSync(types.config, JSON.stringify(data))
    },
    getConfig() {
        return JSON.parse(uni.getStorageSync(types.config) || '{}')
    },
    removeConfig() {
        uni.removeStorageSync(types.config)
    },

    // 绘画配置
    setDrawConfig(config) {
        uni.setStorageSync(types.drawConfig, typeof config === 'string' ? config : JSON.stringify(config))
    },
    getDrawConfig() {
        return JSON.parse(uni.getStorageSync(types.drawConfig) || '{}')
    },
    removeDrawConfig() {
        uni.removeStorageSync(types.drawConfig)
    },

    // 登录信息缓存
    setUserInfo(userinfo) {
        uni.setStorageSync(types.userinfo, JSON.stringify(userinfo))
    },
    getUserInfo() {
        return JSON.parse(uni.getStorageSync(types.userinfo) || '{}')
    },
    removeUserInfo() {
        uni.removeStorageSync(types.userinfo)
    },

    // 登录信息缓存
    setQaConfig(qaConfig) {
        uni.setStorageSync(types.qaConfig, JSON.stringify(qaConfig))
    },
    getQaConfig() {
        return JSON.parse(uni.getStorageSync(types.qaConfig) || '{}')
    },
    removeQaConfig() {
        uni.removeStorageSync(types.qaConfig)
    },




    // token
    setToken(token) {
        uni.setStorageSync(types.token, token)
    },
    getToken() {
        return uni.getStorageSync(types.token)
    },
    removeToken() {
        uni.removeStorageSync(types.token)
    },






    // storeId
    setStoreId(data) {
        uni.setStorageSync(types.storeId, data)
    },
    getStoreId() {
        return uni.getStorageSync(types.storeId)
    },
    removeStoreId() {
        uni.removeStorageSync(types.storeId)
    },



    clearHistory() {
        for(let i in types) {
            uni.removeStorage({
                key: types[i]
            })
        }
    }

}
